package com.hanlin.tank;

import java.awt.*;

/**
 * 描述：爆炸特效
 *
 * @author:hl.yuan
 * @date:2022-02-14
 */
public class Explode {
    /**
     * 爆炸坐标
     */
    private int x;
    /**
     * 爆炸坐标
     */
    private int y;

    private TankFrame tf = null;

    /**
     * 爆炸图标下标：从0开始，到16结束
     */
    private int step = 0;

    /**
     * 发出爆炸
     *
     * @param g
     */
    public void paint(Graphics g) {
        // 画出爆炸
        g.drawImage(PropertyMgr.bufferedImageList.get(step++), x, y, null);

        if (step >= 16) {
            step = 0;
            // 当step为0 的时候，说明爆炸完成，我们需要把爆炸给移除
            tf.explodes.remove(this);
        }
    }

    public Explode(int x, int y, TankFrame tf) {
        this.x = x;
        this.y = y;
        this.tf = tf;
    }

    /***get set 方法 ***/
    public int getX() {
        return x;
    }

    public void setX(int x) {
        this.x = x;
    }

    public int getY() {
        return y;
    }

    public void setY(int y) {
        this.y = y;
    }

    public TankFrame getTf() {
        return tf;
    }

    public void setTf(TankFrame tf) {
        this.tf = tf;
    }
}
